📄 📖 夜航船 2026-04-11T00:00:00.000Z
Hermes Agent迁移完整方案
研究 迁移方案 Hermes OpenClaw 部署指南 运维手册
OpenClaw 迁移到 Hermes Agent 完整方案
📋 执行计划概览
阶段 1: 环境准备与测试部署(不影响现有OpenClaw)
阶段 2: 配置迁移与验证
阶段 3: 并行运行测试
阶段 4: 正式切换(可回滚)
1. Hermes Agent 部署要求
1.1 系统要求
| 项目 | 要求 | 当前状态 |
|---|---|---|
| 操作系统 | Linux / macOS / WSL2 | ✅ Ubuntu 20.04+ |
| Python | 3.10+ | ✅ 3.12.3 |
| Git | 已安装 | ✅ 2.43.0 |
| curl | 已安装 | ✅ 已安装 |
结论: 当前服务器完全符合部署要求。
1.2 Hermes 核心特性
| 特性 | 说明 | 与OpenClaw对比 |
|---|---|---|
| 自改进能力 | 内置学习循环,自动创建/优化skills | OpenClaw需手动管理 |
| 多模型支持 | OpenRouter(200+)、阿里百炼、Kimi、MiniMax | ✅ 兼容当前模型 |
| 多消息平台 | Telegram、Discord、飞书、企业微信 | ✅ 支持飞书 |
| OpenClaw迁移 | 一键迁移工具 | ✅ 有专用工具 |
| YOLO模式 | 无审批自动执行 | OpenClaw有审批机制 |
2. 部署步骤(详细可执行)
2.1 安装 Hermes Agent
方式一:一键安装(推荐)
# 步骤 1: 执行一键安装脚本
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
# 步骤 2: 重新加载 shell 配置
source ~/.bashrc
# 步骤 3: 验证安装
hermes version
# 步骤 4: 运行诊断
hermes doctor
方式二:手动安装(网络受限时)
# 步骤 1: 下载源码(ZIP方式)
cd /tmp
curl -fsSL https://github.com/NousResearch/hermes-agent/archive/refs/heads/main.zip -o hermes.zip
unzip -q hermes.zip
mv hermes-agent-main ~/.hermes/hermes-agent
# 步骤 2: 安装 uv 包管理器
curl -LsSf https://astral.sh/uv/install.sh | sh
# 步骤 3: 创建虚拟环境并安装依赖
cd ~/.hermes/hermes-agent
uv venv venv --python 3.11
export VIRTUAL_ENV="$(pwd)/venv"
uv pip install -e ".[all]"
# 步骤 4: 创建配置目录
mkdir -p ~/.hermes/{cron,sessions,logs,memories,skills,pairing,hooks,image_cache,audio_cache}
# 步骤 5: 添加到 PATH
mkdir -p ~/.local/bin
ln -sf "$(pwd)/venv/bin/hermes" ~/.local/bin/hermes
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
# 步骤 6: 创建基础配置
cp cli-config.yaml.example ~/.hermes/config.yaml
touch ~/.hermes/.env
2.2 验证安装
# 检查版本
hermes version
# 期望输出:Hermes Agent v0.7.0+
# 运行诊断
hermes doctor
# 检查所有依赖是否正常
# 测试基础功能
hermes chat -q "你好"
3. 配置迁移方案
3.1 自动迁移(推荐)
# 步骤 1: 预览迁移内容(不实际执行)
hermes claw migrate --source ~/.openclaw --dry-run
# 步骤 2: 执行完整迁移(包含API密钥)
hermes claw migrate --source ~/.openclaw --migrate-secrets -y
# 步骤 3: 验证迁移结果
hermes config check
hermes memory list
hermes skills list
自动迁移内容对照:
| OpenClaw | Hermes | 迁移状态 |
|---|---|---|
openclaw.json → ~/.hermes/.env | 配置文件 | ✅ 自动 |
SOUL.md → ~/.hermes/soul.md | 人格文件 | ✅ 自动 |
MEMORY.md → ~/.hermes/memories/ | 记忆系统 | ✅ 自动 |
USER.md → ~/.hermes/memories/ | 用户画像 | ✅ 自动 |
AGENTS.md → ~/.hermes/context/ | 工作区说明 | ✅ 自动 |
Skills → ~/.hermes/skills/ | 技能 | ✅ 自动 |
飞书配置 → FEISHU_* | 环境变量 | ✅ 自动 |
3.2 手动迁移(备用方案)
如果自动迁移失败,按以下步骤手动迁移:
步骤 1: 创建配置目录结构
mkdir -p ~/.hermes/{memories,skills,cron,sessions,logs,context,pairing,hooks}
步骤 2: 迁移人格和记忆文件
# 迁移主agent人格(选择一个作为主agent)
cp ~/.openclaw/workspace-ny/SOUL.md ~/.hermes/soul.md
# 迁移记忆文件
cp -r ~/.openclaw/workspace-ns/memory/* ~/.hermes/memories/
# 迁移用户画像
cp ~/.openclaw/workspace-ns/USER.md ~/.hermes/memories/
# 迁移工作区说明
cp ~/.openclaw/workspace-ns/AGENTS.md ~/.hermes/context/
步骤 3: 迁移 Skills
# 迁移所有skills
cp -r ~/.openclaw/workspace-ns/skills/* ~/.hermes/skills/
# 注意:需要检查每个skill的兼容性
步骤 4: 配置模型(关键!)
从 ~/.openclaw/openclaw.json 提取模型配置:
# 编辑 ~/.hermes/.env 文件
cat >> ~/.hermes/.env << 'EOF'
# 模型配置 - 小米MIMO
XIAOMI_API_KEY=<从小米获取>
OPENAI_API_KEY=$XIAOMI_API_KEY
OPENAI_BASE_URL=https://token-plan-cn.xiaomimimo.com/anthropic
HERMES_MODEL=mimo-v2-omni
# 模型配置 - 腾讯
TENCENT_API_KEY=<从腾讯获取>
TENCENT_CODING_API_KEY=$TENCENT_API_KEY
TENCENT_CODING_BASE_URL=https://api.lkeap.cloud.tencent.com/coding/v3
# 模型配置 - Google Gemini
GOOGLE_API_KEY=<从Google获取>
EOF
重要: 需要手动获取以下API密钥:
- 小米MIMO API Key
- 腾讯 Coding API Key
- Google Gemini API Key
步骤 5: 配置飞书(关键!)
# 从 ~/.openclaw/secrets.env 提取飞书配置
# 编辑 ~/.hermes/.env
cat >> ~/.hermes/.env << 'EOF'
# 飞书配置 - 主账户(宁姚)
FEISHU_APP_ID=<FEISHU_APP_ID_NY>
FEISHU_APP_SECRET=<FEISHU_APP_SECRET_NY>
FEISHU_DOMAIN=feishu
FEISHU_CONNECTION_MODE=websocket
GATEWAY_ALLOW_ALL_USERS=true
EOF
注意: 当前OpenClaw有6个飞书账户(ny、cpa、ns、xr、pq、zml),Hermes默认只支持单账户,需要选择一个作为主账户。
步骤 6: 创建配置文件
cat > ~/.hermes/config.yaml << 'EOF'
# Hermes Agent 配置文件
# 模型配置
model:
default: "mimo-v2-omni"
provider: "custom"
base_url: "https://token-plan-cn.xiaomimimo.com/anthropic"
fallbacks:
- "glm-5"
- "gemini-3.1-flash-lite-preview"
# 终端配置
terminal:
backend: "local"
working_dir: "/root/workspace"
# 审批配置(YOLO模式)
approvals:
mode: false # false = YOLO模式,true = 需要审批
timeout: 60
# 安全配置
security:
tirith_enabled: true
# 显示配置
display:
personality: "helpful"
# 记忆配置
memory:
enabled: true
max_size: 2200
# 网关配置
gateway:
enabled: true
port: 5001
# 飞书配置
channels:
feishu:
enabled: true
connection_mode: websocket
domain: feishu
EOF
步骤 7: 安装飞书依赖
pip install lark-oapi websockets aiohttp -q
4. Hermes 配置方法
4.1 模型配置
添加模型提供商
# 添加小米MIMO
hermes model add xiaomi \
--base-url https://token-plan-cn.xiaomimimo.com/anthropic \
--api-key $XIAOMI_API_KEY \
--model mimo-v2-omni
# 添加腾讯Coding
hermes model add tencent-coding \
--base-url https://api.lkeap.cloud.tencent.com/coding/v3 \
--api-key $TENCENT_API_KEY \
--model glm-5
# 添加Google Gemini
hermes model add google \
--base-url https://generativelanguage.googleapis.com/v1beta \
--api-key $GOOGLE_API_KEY \
--model gemini-3.1-flash-lite-preview
切换默认模型
# 查看可用模型
hermes model list
# 设置默认模型
hermes config set model.default mimo-v2-omni
# 测试模型
hermes model probe
4.2 飞书配置
# 交互式配置(推荐)
hermes gateway setup
# 选择 Feishu/Lark
# 输入 App ID 和 App Secret
# 或命令行配置
hermes config set channels.feishu.enabled true
hermes config set channels.feishu.app_id $FEISHU_APP_ID
hermes config set channels.feishu.app_secret $FEISHU_APP_SECRET
hermes config set channels.feishu.connection_mode websocket
4.3 YOLO 模式配置
什么是YOLO模式: 跳过命令审批,自动执行操作。
开启YOLO模式
# 方式一:环境变量
export HERMES_YOLO=true
# 方式二:配置文件
hermes config set yolo.enabled true
# 方式三:编辑 config.yaml
# approvals:
# mode: false
YOLO模式安全配置
编辑 ~/.hermes/config.yaml:
yolo:
enabled: true
# 限制命令范围
allowed_commands:
- read
- write
- search
- execute
# 命令黑名单
denied_patterns:
- "^rm -rf /"
- "^dd "
- "^fdisk"
- "^mkfs"
# 目录限制
allowed_dirs:
- ~/workspace
- /tmp/hermes
denied_dirs:
- /
- /root
# 审计日志
audit_log: ~/.hermes/logs/yolo-audit.log
5. 并行运行方案(测试对比)
5.1 端口隔离
关键: OpenClaw和Hermes使用不同的端口,避免冲突。
| 服务 | OpenClaw | Hermes |
|---|---|---|
| Gateway端口 | 默认(查看配置) | 5001 |
| 飞书连接 | WebSocket | WebSocket |
5.2 飞书多账户策略
方案A: 使用不同的飞书应用(推荐)
- OpenClaw: 使用现有6个账户(ny、cpa、ns、xr、pq、zml)
- Hermes: 创建新的飞书应用,单独测试
方案B: 使用同一个飞书应用,不同群组
- 在飞书中创建测试群组
- OpenClaw继续服务现有群组
- Hermes只在测试群组中响应
5.3 并行运行步骤
# 步骤 1: 确认OpenClaw正在运行
openclaw gateway status
# 步骤 2: 启动Hermes(使用不同端口)
hermes gateway run --port 5001 &
# 步骤 3: 查看两个服务的状态
# OpenClaw
openclaw gateway status
# Hermes
hermes gateway status
ps aux | grep hermes
# 步骤 4: 分别测试
# 在OpenClaw的飞书群组中测试
# 在Hermes的飞书群组中测试
5.4 测试对比清单
| 测试项 | OpenClaw | Hermes | 备注 |
|---|---|---|---|
| 基础对话 | ✅ | 待测 | |
| 记忆功能 | ✅ | 待测 | |
| 技能调用 | ✅ | 待测 | |
| 飞书连接 | ✅ | 待测 | |
| 响应速度 | 待测 | 待测 | |
| 内存占用 | 待测 | 待测 | |
| YOLO模式 | - | 待测 | OpenClaw无此功能 |
6. 回滚方案
6.1 快速回滚
如果Hermes出现问题,立即回滚到OpenClaw:
# 步骤 1: 停止Hermes Gateway
pkill -f "hermes gateway"
# 或
hermes gateway stop
# 步骤 2: 确认OpenClaw正常运行
openclaw gateway status
# 如果OpenClaw未运行,启动它
openclaw gateway start
# 步骤 3: 验证服务恢复
# 在飞书中测试OpenClaw是否正常响应
6.2 数据保护
重要: 在迁移前备份所有OpenClaw数据
# 创建完整备份
backup_dir="/root/openclaw-backup-$(date +%Y%m%d-%H%M%S)"
mkdir -p $backup_dir
# 备份配置
cp -r ~/.openclaw $backup_dir/
# 备份记忆
cp -r ~/.openclaw/workspace-ns/memory $backup_dir/memory-ns
cp -r ~/.openclaw/workspace-ny/memory $backup_dir/memory-ny
# 备份skills
cp -r ~/.openclaw/workspace-ns/skills $backup_dir/skills-ns
# 备份密钥
cp ~/.openclaw/secrets.env $backup_dir/
# 验证备份
ls -lh $backup_dir/
6.3 完全卸载Hermes
如果决定不使用Hermes:
# 步骤 1: 停止所有Hermes进程
pkill -f hermes
# 步骤 2: 删除Hermes目录
rm -rf ~/.hermes
# 步骤 3: 删除PATH链接
rm -f ~/.local/bin/hermes
# 步骤 4: 清理环境变量(可选)
# 编辑 ~/.bashrc,删除相关export语句
7. 开机自启动配置
7.1 创建systemd服务
# 创建服务文件
sudo tee /etc/systemd/system/hermes-gateway.service > /dev/null << 'EOF'
[Unit]
Description=Hermes Gateway Service
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/root/.hermes
ExecStart=/usr/local/bin/hermes gateway run
Restart=always
RestartSec=10
TimeoutStartSec=180
TimeoutStopSec=120
[Install]
WantedBy=multi-user.target
EOF
7.2 启用服务
# 重新加载systemd
sudo systemctl daemon-reload
# 启用开机自启
sudo systemctl enable hermes-gateway.service
# 启动服务
sudo systemctl start hermes-gateway.service
# 查看状态
systemctl status hermes-gateway.service
7.3 配置自动恢复(双重保护)
# 编辑crontab
crontab -e
# 添加以下内容:
# 每5分钟检查服务状态
*/5 * * * * systemctl is-active hermes-gateway >/dev/null || systemctl start hermes-gateway
# 每天凌晨3点预防性重启
0 3 * * * systemctl restart hermes-gateway
8. 迁移后验证
8.1 功能验证清单
# 1. 验证安装
hermes version
hermes doctor
# 2. 验证配置
hermes config check
hermes config
# 3. 验证模型
hermes model list
hermes model probe
# 4. 验证记忆
hermes memory list
hermes memory search "测试"
# 5. 验证skills
hermes skills list
# 6. 验证飞书连接
hermes gateway status feishu
hermes gateway probe feishu
# 7. 查看日志
tail -f ~/.hermes/logs/gateway.log
8.2 性能监控
# 查看内存使用
ps aux | grep hermes | awk '{print $6/1024 " MB"}'
# 查看CPU使用
top -p $(pgrep -f "hermes gateway")
# 查看日志大小
du -sh ~/.hermes/logs/
# 查看进程状态
systemctl status hermes-gateway
9. 关键差异与注意事项
9.1 架构差异
| 方面 | OpenClaw | Hermes |
|---|---|---|
| 多agent支持 | ✅ 6个独立agent | ⚠️ 单agent,需手动管理多实例 |
| 配置方式 | JSON + 环境变量 | YAML + .env |
| 记忆系统 | 文件 + SQLite | 文件 + state.db |
| 审批机制 | 细粒度控制 | YOLO模式(全开/全关) |
9.2 迁移限制
关键限制:
-
多agent: OpenClaw有6个agent(ny、cpa、ns、xr、pq、zml),Hermes默认单agent
- 解决方案: 选择一个主agent迁移,其他agent需要单独部署Hermes实例
-
飞书多账户: OpenClaw支持多个飞书账户同时运行
- 解决方案: Hermes每个实例只能配置一个飞书账户
-
技能兼容性: 部分OpenClaw技能可能不兼容Hermes
- 解决方案: 迁移后需要逐个测试技能
-
记忆格式: 记忆文件格式可能有差异
- 解决方案: 使用自动迁移工具,它会处理格式转换
9.3 建议
迁移前必做:
- ✅ 完整备份OpenClaw配置和数据
- ✅ 准备好所有API密钥(小米、腾讯、Google)
- ✅ 创建新的飞书应用用于测试
- ✅ 选择要迁移的主agent(建议:ny-宁姚)
迁移策略:
- 先迁移一个agent进行测试
- 并行运行至少1周,确认稳定
- 逐步迁移其他agent
- 保留OpenClaw配置至少1个月
10. 快速参考命令
安装与配置
# 安装
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
# 配置模型
hermes model
# 配置飞书
hermes gateway setup
# 迁移OpenClaw
hermes claw migrate --source ~/.openclaw --dry-run
hermes claw migrate --source ~/.openclaw --migrate-secrets -y
# 开启YOLO
hermes config set yolo.enabled true
服务管理
# 启动Gateway
hermes gateway start
# 查看状态
hermes gateway status
# 查看日志
hermes gateway logs
# 停止
hermes gateway stop
# 重启
systemctl restart hermes-gateway
验证与测试
# 验证安装
hermes version
hermes doctor
# 测试模型
hermes model probe
hermes chat -q "你好"
# 测试飞书
hermes gateway probe feishu
# 检查配置
hermes config check
文档版本: 1.0
创建时间: 2026-04-11
适用环境: Ubuntu 20.04+ / OpenClaw 4.10
归档时间: 2026-04-14
来源: /root/.openclaw/workspace-ns/hermes-migration-plan.md